/**
 * 创建应用
 */
var App = function() {
    //
    return {
        /**
         * 依赖组件
         */
        requires : [
            'Fw.ListView'
        ],
        /**
         * 初始化
         * 应用入口
         */
        init : function(require) {
            //定义列表
            var listView = new Fw.ListView({
                contentEl : 'list',
                ajax : {
                    //数据源（自定以URL）
                    //url: '/data/demo1Service/XXX.json',
                    //数据源（服务接口）
                    service: 'demo1Service.query',
//                    service: 'demo1Service',
                    //method: 'query',//默认为query，方法名称必须是query开头
                    //请求参数
                    // params: {
                        // name: '名称'
                    // },
                    //排序方式（仅对服务接口有效）
                    sort: [{
                        property : 'table1.name',
                        direction : 'asc'
                    }, {
                        property : 'table1.lastModiDate',
                        direction : 'asc'
                    }],
                    //简单分页组件（只显示上一页、下一页，默认false）
                    // simplePage: true,
                    //分页参数
                    pageSize: 10
                    //是否使用数据挡板（默认false）
                    // staticData: true
                },
                itemTpl : [
                    '<td width="85%">',
                        '<a>${item.name}</a>',
                    '</td>',
                    '<td align="right" width="15%">${item.lastModiDate|fmtDate,"yyyy-MM-dd"}</td>',
                ]
            });

            //选中记录时触发
            listView.on('itemclick', this.onSelect, this);
            //查询数据前触发
            listView.ajax.on('beforequery', this.onBeforeQuery, this);
            //查询数据后触发
            listView.ajax.on('query', this.onQuery, this);
            //加载数据
            listView.loadData();
        },
        /**
         * 选中记录时触发
         */
        onSelect : function(record, index, item, e, cmp) {
            // alert(Fw.encode(record));
            alert(record.name);
        },
        /**
         * 查询数据前触发
         * @param {Object} Ajax对象
         * @param {Object} 请求报文
         * @param {String} 请求路径
         */
        onBeforeQuery : function(ajax, message, url) {
            //设置查询条件
            // ajax.setParams('p1', '11123');
            //设置排序方式
            // ajax.setSorts('col12', 'asc');
            //return false; //则不加载
        },
        /**
         * 查询数据后触发
         * @param {Object} Ajax对象
         * @param {Object} 响应数据（result[Fw.Ajax.rootProperty]部分）
         * @param {Object} 响应数据（全部）
         */
        onQuery : function(ajax, data, result) {
//            alert(Fw.encode(data));
        }
    };
}();

/**
 * 页面加载完毕后，初始化应用
 */
Fw.onReady(App);
